package org.test4j.mock;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

@Documented
@Retention(RUNTIME)
@Target(ElementType.TYPE)
public @interface Mocks {
    /**
     * 需要生成mock proxy的类
     *
     * @return
     */
    Class[] value();

    /**
     * 是否生成Spring fake bean
     *
     * @return
     */
    boolean fakeBean() default false;

    /**
     * 生成的MocksApply类后缀
     *
     * @return
     */
    String suffixMocks() default "Mocks";

    /**
     * 生成的Stub Bean Spring配置文件后缀
     *
     * @return
     */
    String suffixConfiguration() default "FakeBeans";
}